Some computing platforms have multiple cores and/or processors than can each execute operations in parallel. Machine level execution of applications on such computing platforms can be improved by assigning different execution threads to different cores/processors to better utilize resources of the computing platform and reduce competition between execution threads for the resources of computing platform.